//package com.sxt.sys.controller;
//
//
//
//import java.io.IOException;
//import java.io.UnsupportedEncodingException;
//import java.text.SimpleDateFormat;
//import java.util.ArrayList;
//import java.util.Calendar;
//import java.util.Date;
//import java.util.HashMap;
//import java.util.List;
//import java.util.Map;
//
//import org.apache.commons.lang3.StringUtils;
//import org.jsoup.Jsoup;
//import org.jsoup.nodes.Document;
//import org.jsoup.select.Elements;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.messaging.simp.SimpMessagingTemplate;
//import org.springframework.scheduling.annotation.Scheduled;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RequestParam;
//import org.springframework.web.bind.annotation.ResponseBody;
//import org.springframework.web.bind.annotation.RestController;
//
//import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.JSONArray;
//import com.alibaba.fastjson.JSONObject;
//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
//import com.sxt.pro.Ny_data.xin.HttpClientHelper;
//import com.sxt.pro.Ny_data.xin.HttpURLConnectionTest;
//import com.sxt.pro.Ny_data.xin.Lilv;
//import com.sxt.pro.pojo.AbChina;
//import com.sxt.pro.pojo.Guide;
//import com.sxt.pro.pojo.InclusiveService;
//import com.sxt.pro.pojo.LivePay;
//import com.sxt.pro.pojo.Person;
//import com.sxt.pro.pojo.Product;
//import com.sxt.pro.pojo.Screens;
//import com.sxt.pro.pojo.ServiceLead;
//import com.sxt.pro.pojo.Sources;
//import com.sxt.pro.pojo.SurroundDiscount;
//import com.sxt.pro.pojo.WaterFall;
//import com.sxt.pro.service.AbChinaService;
//import com.sxt.pro.service.GuideService;
//import com.sxt.pro.service.InclusiveServiceService;
//import com.sxt.pro.service.LivePayService;
//import com.sxt.pro.service.PersonService;
//import com.sxt.pro.service.ProductService;
//import com.sxt.pro.service.ScreensService;
//import com.sxt.pro.service.ServiceLeadService;
//import com.sxt.pro.service.SourcesService;
//import com.sxt.pro.service.SurroundDiscountService;
//import com.sxt.pro.service.WaterFallService;
//import com.sxt.sys.common.ResultObj;
//import com.sxt.sys.domain.Terminal;
//import com.sxt.sys.service.TerminalService;
//
//import utils.ResponseWrapper;
//
///**
// *  api公共接口
// *
// * @author xxk
// * @since 2021-09-29
// */
//@RestController
//@RequestMapping("api")
//public class ApiController {
//	
//	    //封装爬取农行数据
//	    @Autowired
//	    private AbChinaService abChinaService;
//	    //设备终端
//		@Autowired
//		private TerminalService terminalService;
//		//产品
//		@Autowired
//		private ProductService productService;
//		//瀑布流控制
//		@Autowired
//		private WaterFallService waterFallService;
//		//员工
//		@Autowired
//		private PersonService personService;
//		//网点导览
//		@Autowired
//		private GuideService guideService;
//		//素材
//		@Autowired
//		private SourcesService sourcesService;
//		// websockegt 发送消息模板 =
//		@Autowired
//		private SimpMessagingTemplate template;
//		//普惠业务
//		@Autowired
//		private InclusiveServiceService inclusiveServiceService;
//		// 业务引导
//		@Autowired
//		private ServiceLeadService serviceLeadService;
//		//生活缴费
//		@Autowired
//		private LivePayService livePayService;
//		//周边优惠
//		@Autowired
//		private SurroundDiscountService surroundDiscountService;
//		//屏保
//		@Autowired
//		private ScreensService  screensService;
//	
//	
//	
//	
//	/*********************************************** 银行爬取    接口 *****************************************************/
//	
//	/**
//	 * 每一小时获取农行数据：【利率、汇率、贵金属、理财：金融小店接口】，存入数据库
//	 * @return
//	 */
////    @Scheduled(cron = "0 */1 * * * ?") //每1分钟执行一次
////	@Scheduled(cron = "0 0 * * * ?")  
////	public void  sendAbChinaDate() {
////		try {
////			String lilv =this.sendLilvMessage();
////			String gold = this.sendGoldMessage();
////			String huilv = this.sendHuilv();
////			String licai = HttpURLConnectionTest.httpURLConectionGET();
////	        Map<String, Object> map = new HashMap<String, Object>();
////	        map.put("lilv", lilv);
////	        map.put("gold", gold);
////	        map.put("huilv", huilv);
////	        AbChina abChina = new AbChina();
////	        abChina.setLilv(lilv);
////	        abChina.setGold(gold);
////	        abChina.setHuilv(huilv);
////	        abChina.setLicai(licai);
////	        abChina.setCreatetime(new Date());
////	        abChinaService.save(abChina);
////	        template.convertAndSend("/topic/service_abchina", abChina);
////	        System.out.println("爬取利率、汇率、贵金属、理财数据   且推送那——————————————-");
////		} catch (Exception e) {
////			 e.printStackTrace();
////		}
////		 
////	}
////	
////	/**
////	 * 发送最新的数据 ：利率、汇率、贵金属、理财
////	 */
////	@RequestMapping("/getAbChinaDate")
////	@ResponseBody
////	public ResponseWrapper  getAbChinaDate() {
////		try {
////	        AbChina abChina = abChinaService.getNewAbChina();
////	        return ResponseWrapper.markSuccess(abChina);
////		} catch (Exception e) {
////			 e.printStackTrace();
////			 return ResponseWrapper.markParamError();
////		}
////		 
////	}	
//	
//
//	//外汇
//    public String  sendLilvMessage(){
//        String url ="http://www.abchina.com/cn/PersonalServices/Quotation/bwbll/201511/t20151126_807920.htm";
//        String nongh = null;
//        try {
//            nongh = HttpClientHelper.sendGet(url);
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
//        byte[] bytes = new byte[0];
//        try {
//            bytes = nongh.getBytes("ISO-8859-1");
//        } catch (UnsupportedEncodingException e) {
//            e.printStackTrace();
//        }
//        String s1 = null;
//        try {
//            s1 = new String(bytes, "utf-8");
//        } catch (UnsupportedEncodingException e) {
//            e.printStackTrace();
//        }
//        Document document = Jsoup.parse(s1);
//        Elements tbody = document.getElementsByTag("tbody");
//        String[] split = tbody.text().split(" ");
//        List<Lilv> lilvs = new ArrayList<>();
//        for (int x=0;x<split.length;x++){
//            Lilv lilv = new Lilv();
//            if(x%2==0){
//                lilv.setPriect(org.apache.commons.lang.StringUtils.strip(split[x]));
//                x++;
//            }
//            lilv.setData(org.apache.commons.lang.StringUtils.strip(split[x]));
//            lilvs.add(lilv);
//        }
//
//        String s = JSONObject.toJSONString(lilvs);
//        return s;
//    }
//
//    //贵金属
//    public String sendGoldMessage(){
//        String url ="http://ewealth.abchina.com/app/data/api/DataService/GoldInfoV2"; 
//        String nongh = null;
//        try {
//            nongh = HttpClientHelper.sendGet(url);
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
//        JSONArray array = JSONObject.parseObject(nongh).getJSONObject("Data").getJSONArray("Table1");
//        int size = array.size();
//        for (int x=0;x<size;x++){
//            String[] split = array.getJSONObject(x).get("UpdateTime").toString().split(" ");
//            //System.out.println("数组长度："+split.length);
//            array.getJSONObject(x).put("UpdateTime",split[1]);
//        }
//        //System.out.println("贵金属："+array);
//        return array.toString();
//    }
//    
//    //汇率
//    public String sendHuilv(){
//        String url ="http://ewealth.abchina.com/app/data/api/DataService/ExchangeRateV2";
//        String nongh = null;
//        try {
//            nongh = HttpClientHelper.sendGet(url);
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
//        JSONArray array = JSONObject.parseObject(nongh).getJSONObject("Data").getJSONArray("Table");
//        int size = array.size();
//        for (int x=0;x<size;x++){
//            String[] split = array.getJSONObject(x).get("PublishTime").toString().split("T");
//            //System.out.println("数组长度："+split[1].split("\\+")[0]);
//            array.getJSONObject(x).put("PublishTime",split[1].split("\\+")[0]);
//        }
//       // System.out.println("汇率："+array);
//        return array.toString();
//    }
//	
//	
//	
//    /***************************************************  爬取数据结束*****************************************************/	
//    
//    
//    /***************************************************  多联屏项目  公共接口  --- 开始 *********************************************/	
//    
//	/**
//	 * 根据设备ip,查看网点编号：远程视频权限控制
//	 */
//	@RequestMapping("/loadNetworkByterminalNo")
//	@ResponseBody
//	public ResponseWrapper loadNetworkByterminalNo(String terminal_no){
//		QueryWrapper<Terminal> queryWrapper=new QueryWrapper<>();
//		try {
//			queryWrapper.eq(StringUtils.isNotBlank(terminal_no), "terminal_no", terminal_no);
//			Terminal terminal = this.terminalService.getOne(queryWrapper);
//			Map<String, Object> map = new HashMap<String, Object>();
//			map.put("networkid", terminal.getNetworkid());
//			map.put("terminaltime", terminal.getTerminaltime());
//			return ResponseWrapper.markSuccess(map);
//		} catch (Exception e) {
//			e.printStackTrace();
//			return ResponseWrapper.markParamError();
//		}
//		
//	}
//	
//	/**
//	 * 根据年龄、性别、设备编号推送产品
//	 * @param age
//	 * @param 
//	 * @return
//	 */
////	@RequestMapping("/sendProduct")
////	@ResponseBody
////	public ResponseWrapper sendProduct(String age, String sex ,String terminalNo){
////		try {
////			 List<Product> products= this.productService.sendProduct(age, sex ,terminalNo);
////			 return ResponseWrapper.markSuccess(products);
////		} catch (Exception e) {
////			e.printStackTrace();
////			return  ResponseWrapper.markParamError();
////		}
////	}
//	
//	/**
//	 * 普通客户推送默认产品
//	 * @param age
//	 * @param customerLever
//	 * @return
//	 */
////	@RequestMapping("/sendNormalProduct")
////	@ResponseBody
////	public ResponseWrapper sendNormalProduct(String generalCustomer){
////		try {
////			 List<Product> products= this.productService.sendNormalProduct(generalCustomer);
////			 return ResponseWrapper.markSuccess(products);
////		} catch (Exception e) {
////			e.printStackTrace();
////			return  ResponseWrapper.markParamError();
////		}
////	}
//	
//	
//	/**
//	 *@Decription : 互动营销：根据 设备编号 来获取 营销数据
//	 * @param terminal_no 设备编号
//	 * @return
//	 */
//	@RequestMapping("/sendProductData")
//	@ResponseBody
//	public ResponseWrapper sendProductData(String terminal_no){
//		try {
//		     List<WaterFall>  productData= this.waterFallService.sendProductData(terminal_no);
//			 return ResponseWrapper.markSuccess(productData);
//		} catch (Exception e) {
//			e.printStackTrace();
//			return  ResponseWrapper.markParamError();
//		}
//	}
//
//	
//	/**
//	 *@Decription : 根据设备编号 获取 员工列表
//	 * @param terminal_no  设备编号
//	 * @return
//	 */
//	@RequestMapping("/sendPersonData")
//	@ResponseBody
//	public ResponseWrapper sendPersonData(String terminal_no){
//		try {
//		     List<Person>  productData= this.personService.listByterminal(terminal_no);
//			 return ResponseWrapper.markSuccess(productData);
//		} catch (Exception e) {
//			e.printStackTrace();
//			return  ResponseWrapper.markParamError();
//		}
//	}
//
//	
//	/**
//	 * @Decription : 根据设备编号 获取 网点导览地图
//	 * @param terminal_no  设备编号
//	 * @return
//	 */
//	@RequestMapping("/sendGuideData")
//	@ResponseBody
//	public ResponseWrapper sendGuideData(String terminal_no){
//		try {
//		     List<Guide>  guideData= this.guideService.listguideByterminal(terminal_no);
//			 return ResponseWrapper.markSuccess(guideData);
//		} catch (Exception e) {
//			e.printStackTrace();
//			return  ResponseWrapper.markParamError();
//		}
//	}
//	
//	/**
//	 *  @Decription : 青岛：文化剧场   第一次前端主动调，随机推送已经审批的素材至前端
//	 * @return
//	 */
//	@RequestMapping("/sendCultureData")
//	@ResponseBody
//	public ResponseWrapper  sendCultureData(String terminal_no) {
//		int available = 1;  //默认发送已经审核的标签
////		List<Map<String, Object>> data = new ArrayList<Map<String, Object>>();
//		try {
//			 //随机获取5条素材
//		     List<Sources>  sourcesData= this.sourcesService.sendSourcesDataByter(terminal_no,available);
////	         Map<String, Object> map = new HashMap<String, Object>();
////	         map.put("sources", sourcesData);
////	         data.add(map);
//	         return ResponseWrapper.markSuccess(sourcesData);
//		} catch (Exception e) {
//			 e.printStackTrace();
//			 return  ResponseWrapper.markParamError();
//		}
//	}
//	
//	/**
//	 * 发送通知信息
//	 * @return
//	 */
//	@RequestMapping("/sendNoticeMessage")
//	@ResponseBody
//	public String  sendNoticeMessage() {
//		List<Map<String, Object>> data = null;
//		int available = 1;  //默认已审批
//		Date nowTime = null;
//		Date beginTime = null;
//		Date endTime = null;
//		List<Sources>  sourcesDataNew= new ArrayList<Sources>();
//		try {
//			SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//			//获取当前时间
//			String newDate = sdf.format(new Date());
//			//转化为data模式
//			nowTime = sdf.parse(newDate);
//			 //获取文化剧场已经审批的素材图片和视频素材
//			 QueryWrapper<Sources> queryWrapper = new QueryWrapper<Sources>();
//			//筛选条件：网点编号
//			  queryWrapper.eq("available",available);
//		     List<Sources>  sourcesData= this.sourcesService.list(queryWrapper);
//		     for (int i = 0; i < sourcesData.size(); i++) {
//		    	if (sourcesData.get(i).getTimerange()!=null  ) {
//		    		String beginTime1 = sourcesData.get(i).getTimerange().substring(0, sourcesData.get(i).getTimerange().indexOf("~"));
//		    		String endTime1 = sourcesData.get(i).getTimerange().substring(sourcesData.get(i).getTimerange().indexOf("~")+1);
//		    		beginTime=sdf.parse(beginTime1);
//		    		endTime=sdf.parse(endTime1);
//		    		Boolean flag = belongCalendar(nowTime, beginTime, endTime);
//				  if (flag) {
//					  sourcesDataNew.add(sourcesData.get(i));
//				  }				
//				}
//			}
//	         Map<String, Object> map = new HashMap<String, Object>();
//	         data = new ArrayList<Map<String, Object>>();
//	         if (!sourcesDataNew.isEmpty()) {
//	        	 map.put("sources", sourcesDataNew);
//	        	  data.add(map);
//	        	  return  JSON.toJSONString(data);
////	        	 template.convertAndSend("/topic/service_Notice",new OutMessage(JSON.toJSONString(data)));
//			}
//		} catch (Exception e) {
//			 e.printStackTrace();
//		}
//		return "没有"; 
//	}
//	
//	
//	/**
//	 * @Decription : 模板播放模式选择
//	 * @return
//	 */
//	@RequestMapping("/sendModelData")
//	@ResponseBody
//	public ResultObj  sendModelData(@RequestParam Map<String, String> params ) {
//		
//		try {
//			List list = new ArrayList<>();
//			for (String  key : params.values()) {
//				list.add(key);
//			}
//			Object[] strArray = list.toArray();
////			 template.convertAndSend("/topic/service_Model",new OutMessage(JSON.toJSONString(strArray)));
//			 template.convertAndSend("/topic/service_Model",strArray);
//			 return ResultObj.PUBLISH_SUCCESS;
//		} catch (Exception e) {
//			 e.printStackTrace();
//			 return ResultObj.PUBLISH_ERROR;
//		}
//	}
//	
//	/**
//	 * 判断时间是否在时间段内
//	 * 
//	 * @param nowTime
//	 * @param beginTime
//	 * @param endTime
//	 * @return
//	 */
//	public static boolean belongCalendar(Date nowTime, Date beginTime,
//			Date endTime) {
//		Calendar date = Calendar.getInstance();
//		date.setTime(nowTime);
// 
//		Calendar begin = Calendar.getInstance();
//		begin.setTime(beginTime);
// 
//		Calendar end = Calendar.getInstance();
//		end.setTime(endTime);
// 
//		if (date.after(begin) && date.before(end)) {
//			return true;
//		} else {
//			return false;
//		}
//	}
//	
//	
//	
//	/**
//	 * 根据设备编号 获取该网点下的    屏保数据
//	 */
//	@RequestMapping("/quaryScreensByterminalNo")
//	@ResponseBody
//	public ResponseWrapper quaryScreensByterminalNo(String terminal_no){
//		QueryWrapper<Terminal> queryWrapper = new QueryWrapper<Terminal>();
//		QueryWrapper<Screens> queryWrapperSe = new QueryWrapper<Screens>();
//		
//		try {
//			queryWrapper.eq(StringUtils.isNotBlank(terminal_no), "terminal_no", terminal_no);
//			Terminal terminal = this.terminalService.getOne(queryWrapper);
//			//通过网点编号 获取周边优惠列表
//			queryWrapperSe.eq(terminal.getNetworkid()!= null, "banknbr", terminal.getNetworkid());
//			List<Screens> screensList = this.screensService.list(queryWrapperSe);
//			return ResponseWrapper.markSuccess(screensList);
//		} catch (Exception e) {
//			e.printStackTrace();
//			return ResponseWrapper.markParamError();
//		}
//	}
//	
//
//    /***************************************************  多联屏项目  公共接口  --- 结束*********************************************/	
//	
//	
//    /***************************************************  普惠金融项目  公共接口  --- 开始*********************************************/		
//	
//	/**
//	 * 在指定的银行网点下，通过设备编号获取            业务引导数据
//	 */
//	@RequestMapping("/knowDataByterminalNo")
//	@ResponseBody
//	public ResponseWrapper knowDataByterminalNo(String terminal_no){
//		QueryWrapper<Terminal> queryWrapper = new QueryWrapper<Terminal>();
//		QueryWrapper<ServiceLead> queryWrapperSe = new QueryWrapper<ServiceLead>();
//		
//		try {
//			queryWrapper.eq(StringUtils.isNotBlank(terminal_no), "terminal_no", terminal_no);
//			Terminal terminal = this.terminalService.getOne(queryWrapper);
//			//通过设备编号 获取 业务引导数据
//			queryWrapperSe.eq(StringUtils.isNotBlank(terminal.getTerminalno()), "terminal_no", terminal.getTerminalno());
//				List<ServiceLead> serviceLeadList = this.serviceLeadService.list(queryWrapperSe);
//				return ResponseWrapper.markSuccess(serviceLeadList);
//		} catch (Exception e) {
//			e.printStackTrace();
//			return ResponseWrapper.markParamError();
//		}
//	}
//	
//	/**
//	 * 根据设备编号、展示 （个人、企业） 普惠业务数据
//     *          展示（热门、个人推荐）普惠业务数据
//	 */
//	@RequestMapping("/inclusiveDataByterminalNo")
//	@ResponseBody
//	public ResponseWrapper inclusiveDataByterminalNo(String terminal_no){
//		QueryWrapper<Terminal> queryWrapper=new QueryWrapper<>();
//		QueryWrapper<InclusiveService> queryWrapperIn=new QueryWrapper<>();
//		try {
//			queryWrapper.eq(StringUtils.isNotBlank(terminal_no), "terminal_no", terminal_no);
//			Terminal terminal = this.terminalService.getOne(queryWrapper);
//			//通过设备编号 获取 普惠业务数据
//			queryWrapperIn.eq(StringUtils.isNotBlank(terminal.getTerminalno()), "terminal_no", terminal.getTerminalno());
//			List<InclusiveService> inclusiveServiceList = this.inclusiveServiceService.list(queryWrapperIn);
//			return ResponseWrapper.markSuccess(inclusiveServiceList);
//		} catch (Exception e) {
//			e.printStackTrace();
//			return ResponseWrapper.markParamError();
//		}
//	}
//	
//	/**
//	 * 根据设备编号 获取该网点下的                  生活缴费  列表
//	 */
//	@RequestMapping("/quaryLivePayDataByterminalNo")
//	@ResponseBody
//	public ResponseWrapper quaryLivePayDataByterminalNo(String terminal_no){
//		QueryWrapper<Terminal> queryWrapper = new QueryWrapper<Terminal>();
//		QueryWrapper<LivePay> queryWrapperSe = new QueryWrapper<LivePay>();
//		try {
//			queryWrapper.eq(StringUtils.isNotBlank(terminal_no), "terminal_no", terminal_no);
//			Terminal terminal = this.terminalService.getOne(queryWrapper);
//			//通过设备编号 获取 生活缴费列表
//			queryWrapperSe.eq(StringUtils.isNotBlank(terminal.getTerminalno()), "terminal_no", terminal.getTerminalno());
//				List<LivePay> livePayList = this.livePayService.list(queryWrapperSe);
//				return ResponseWrapper.markSuccess(livePayList);
//		} catch (Exception e) {
//			e.printStackTrace();
//			return ResponseWrapper.markParamError();
//		}
//	}
//
//	/**
//	 * 根据设备编号 获取该网点下的                  周边优惠列表
//	 */
//	@RequestMapping("/quarySurroundDataByterminalNo")
//	@ResponseBody
//	public ResponseWrapper quarySurroundDataByterminalNo(String terminal_no){
//		QueryWrapper<Terminal> queryWrapper = new QueryWrapper<Terminal>();
//		QueryWrapper<SurroundDiscount> queryWrapperSe = new QueryWrapper<SurroundDiscount>();
//		
//		try {
//			queryWrapper.eq(StringUtils.isNotBlank(terminal_no), "terminal_no", terminal_no);
//			Terminal terminal = this.terminalService.getOne(queryWrapper);
//			//通过设备编号 获取周边优惠列表
//			queryWrapperSe.eq(StringUtils.isNotBlank(terminal.getTerminalno()), "terminal_no", terminal.getTerminalno());
//			List<SurroundDiscount> surroundDiscountList = this.surroundDiscountService.list(queryWrapperSe);
//			return ResponseWrapper.markSuccess(surroundDiscountList);
//		} catch (Exception e) {
//			e.printStackTrace();
//			return ResponseWrapper.markParamError();
//		}
//	}
//
//
//	
//    
///***************************************************  普惠金融项目  公共接口  --- 结束*********************************************/		
//    
//    
//    
//    
//    
//    
//    
//    
//    
//    
//    
//    
//	
//	
//	
//}
//
